package com.example.base_model.socket

/**
 * @Author: jiangKunKun
 * @CreateDate: 2025/11/24
 * @Description: MQTT连接配置数据类
 *               包含连接MQTT服务器所需的所有配置参数
 * @SpittingGrooves:
 */
data class MqttConfig(
    /**
     * MQTT服务器地址，格式如 tcp://host:port 或 ssl://host:port
     */
    val serverUri: String,
    /**
     * 连接认证用户名
     */
    val username: String,
    /**
     * 连接认证密码
     */
    val password: String,
    /**
     * 客户端唯一标识符，用于区分不同客户端
     */
    val clientId: String,
    /**
     * 是否启用自动重连机制，默认true
     */
    val automaticReconnect: Boolean = true,
    /**
     * 是否清除会话，默认false表示保留会话状态
     */
    val cleanSession: Boolean = false,
    /**
     * 连接超时时间（秒），默认10秒
     */
    val connectionTimeout: Int = 10,
    /**
     * 心跳包间隔时间（秒），默认15秒
     */
    val keepAliveInterval: Int = 15
)
